Methods and systems for displaying customized icons

ABSTRACT

A method, and system for practicing the method, for processing measurable characteristics, by storing zero or more definitions of a threshold for one or more measurable characteristics, zero or more definitions of a conditional expression applicable to one or more measurable characteristics and one or more computable functions with inputs of zero or more of the measurable characteristics, zero or more of the definitions of a conditional expression, and zero or more of the definitions of a conditional expression are associated with an identifier. Data for one or more time intervals is received, and the computable functions are applied for each of the one or more time intervals, using a given identifier, to at least one measurable characteristic measurement, to produce one or more calculated desirability values. A graphical icon generated suitable for display on a display device based on the one or more calculated desirability values, wherein distinct graphical features of the icon at each of a plurality of points upon the icon are each determined based on the one or more calculated desirability values, where said one or more time intervals corresponds to a rotational angle of said point upon the icon and where 360 degrees of the rotational angle corresponds to some unit of time.

FIELD OF THE INVENTION

The present invention relates to the visual display of data usingcustomized icons, particularly the use of customized icons to conveytime-dependent changes in relation to time-invariant data.

BACKGROUND

The presentation of complex information to users is a continuingchallenge. This challenge is exacerbated by the explosion in dataavailability and mechanisms for data delivery, on the one hand, and byinformation needs, on the other. Extracting and delivering “information”from raw “data” is a new frontier, wherein we are challenged to matchhuman perceptual capabilities with computer and communication systemoperations. The broadcast and webcast of formatted data to selected andgeneral audiences is a common and increasingly important benefit ofInternet and web technologies and networks. The ability to rapidlyupdate databases and reports and promptly inform a multiplicity of usersof relevant information, by either push or pull information modalities,is helping to provide the benefits of the information age to millions ofpeople around the world. Yet the (often frequently updated) delivery ofprodigious amounts of data (often in formatted structures) often createsan undesirable deluge of data which cannot be readily consumed by users.

In a vast number of circumstances, after data is gathered, the needexists to then package or convert the data into information that can bepresented to one or more human beings for their cogitation or enjoyment.Addressing particularly those instances in which the information is ormay be information that is actionable or could prompt action by theuser, much attention has been given as to how best to present suchinformation. In particular, a great deal of effort has gone intodetermining how to present complex, inter-related information visually,so as to facilitate a person quickly recognizing the inter-relationshipsamong different data sets. Challenges exist as to how to present theinformation in a way that is most useful and discernible, and leastsusceptible to misinterpretation. For example, how to interrelate ageographical map with a portrayal of time-varying conditions, such asforecast weather conditions, on some portion(s) of the map, is achallenge. One could present a series of images, such as imagesprojecting conditions at each of a succession of times, but there is nowidely accepted way of presenting in a single image a representation ofthat whole sequence. Pilots planning their routes thus lack a singleimage which can convey to them the forecast for conditions along theirintended route over a span of time.

Moreover, one pilot's need for information may differ from the next, andtheir interpretations of the data may treat the same data as conveyingdifferent information.

Similar needs exist in many different information domains, the foregoingexample of pilots planning routes merely being exemplary. There is,therefore, a long felt need to provide formatted data and reports topopulations of users in a method that allows each user or many users toflexibly specify priorities of interest by the user, or certain aspectsof meaning, in particular types and values of information contained inthe provided data, and in preferred methods of presentation.

SUMMARY

Among the needs which exist, therefore, is that of a display and displaymethodology which can convey forecasted time-varying (orotherwise-varying) conditions in a single image, rather than a sequenceof images, possibly along with other, static information.

According to a first aspect, there is shown a method for processing andreporting weather forecast data (e.g., for aviation route planning).Such method includes sending a request to a server for personalizedweather forecast data for a particular geographic region, said requestcontaining at least a unique identifier for a user. The personalizedweather forecast data is received from the server for said region,wherein said data contain a multiplicity of personalized desirabilityvalues of forecasted weather conditions for said region at amultiplicity of times, generated using weather forecast information forsaid region and conditionals specific to the user. A circular orspiral-shaped graphical chart is generated on a display device based onthe received customized weather forecast data, wherein the location ofthe graphical chart on the display device corresponds to said geographicregion, and furthermore wherein the colors of the spiral at each of amultiplicity of points upon the spiral are each determined based on thepersonalized desirability value of the forecasted weather conditions ata specific time, said time corresponding to the rotational angle of saidpoint upon the spiral.

According to a second aspect, there is provided, more generally, amethod for processing and reporting a characteristic of a resource for adomain. This method comprises sending a request to a server forcustomized data for the resource, said request containing at least aunique application identifier; receiving customized data from theserver, wherein said data contain a multiplicity of customizedconditional result values of characteristics of the resource at amultiplicity of domain values, generated using values of thecharacteristics of the resource at various domain values andconditionals specific to the application identifier; and generating aspiral-shaped graphical chart on a display device based on the receivedcustomized data, wherein the location of the graphical chart on thedisplay device corresponds to said resource, and furthermore wherein thecolors of the spiral at each of a multiplicity of points upon the spiralare each determined based on the customized conditional result value ofthe characteristics of the resource for a domain value, said domainvalue corresponding to the rotational angle of said point upon thespiral.

According to a third aspect there is provided a method for processingand reporting a set of data values over an icon domain range, whereinsaid icon domain range in its entirety is not otherwise included in thereported material. This method comprises sending a request to a serverfor customized data, said request containing at least a uniqueapplication identifier; receiving the customized data from the server,wherein said customized data contain a multiplicity of functional resultvalues at a multiplicity of domain values, generated by processingfunctions specific to the application identifier; generating aspiral-shaped graphical chart on a display device based on the receivedcustomized data, wherein the location of the graphical chart on thedisplay device corresponds to a region in one or more domains differingfrom said icon domain range, and furthermore wherein the colors of thespiral at each of a multiplicity of points upon the spiral are eachdetermined based on the received functional result value as evaluated atan icon domain value.

A fourth aspect is a system containing one or more processors and one ormore memories containing processor-executable instructions to send arequest over a network to a server for personalized weather forecastdata for a particular geographic region, said request containing atleast a unique identifier for a user; receive personalized weatherforecast data from the server for said region, wherein said data containa multiplicity of personalized desirability values of forecasted weatherconditions for said region at a multiplicity of time values, generatedusing weather forecast information for said region and conditionalsspecific to the user; and generate a spiral-shaped graphical chart on adisplay device based on the received customized weather forecast data,wherein the location of the graphical chart on the display devicecorresponds to said geographic region, and furthermore wherein thecolors of the spiral at each of a multiplicity of points upon the spiralare each determined based on the personalized desirability value of theforecasted weather conditions at a time value, said time valuecorresponding to the rotational angle of said point upon the spiral.

A fifth aspect is a system or device containing one or more processorsand one or more memories containing processor-executable instructions tosend a request over a network to a server for weather forecast data fora particular geographic region; receive weather forecast data from theserver for said region; using the received weather forecast data andpersonalized thresholds and conditionals stored in the one or morememories, calculate a multiplicity of personalized desirability valuesof forecasted weather conditions for said region at a multiplicity oftime values; and generate a spiral-shaped graphical icon on a displaydevice based on the calculated personalized desirability values, whereinthe colors of the spiral at each of a multiplicity of points upon thespiral are each determined based on the personalized desirability valueof the forecasted weather conditions at a time value, said time valuecorresponding to the rotational angle of said point upon the spiral.

A sixth aspect is a method for displaying weather forecast data foraviation route planning comprising displaying on a display medium aspiral-shaped graphical icon produced from personalized desirabilityvalues generated from weather forecast data and personalized aviatorthresholds or conditionals, wherein the location of the graphical iconon the display medium corresponds to a location on said aviation route,and furthermore wherein the colors of the graphical icon at each of amultiplicity of points upon the graphical icon are each determined basedon the personalized desirability value of the forecasted weatherconditions at a time value.

A seventh aspect is a display surface displaying an icon whichillustrates graphically how a condition at a location on a displayed maphas changed or is forecast to change over a predetermined period oftime, the icon comprising a circle or a spiral and the change ofcondition being rendered by a change in a color at a location on theicon corresponding to a time at which the change occurred or is forecastto occur.

An eighth aspect is a device comprising a module for receiving a feed ofinformation, such as weather information, and for storing at leastportions of said information; a module for receiving personalizationpreferences of a user; and a module for processing the storedinformation and the personalization information to generate a display ofan icon conveying, relative to the personalization information, howconditions have changed or are forecast to change over time at one ormore locations or according to a parameter analogous to location.

It should be appreciated that all combinations of the foregoing conceptsand additional concepts discussed in greater detail below (provided suchconcepts are not mutually inconsistent) are contemplated as being partof the inventive subject matter disclosed herein. In particular, allcombinations of claimed subject matter appearing at the end of thisdisclosure are contemplated as being part of the inventive subjectmatter disclosed herein. It should also be appreciated that terminologyexplicitly employed herein that also may appear in any disclosureincorporated by reference should be accorded a meaning most consistentwith the particular concepts disclosed herein.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings, like reference characters generally refer to the sameparts throughout the different views. Also, the drawings are notnecessarily to scale, emphasis instead being placed upon generallyillustrating the various concepts discussed herein.

FIG. 1 is a chart depicting an example of some aspects of the inventiveapproach, wherein a customized icon on a graphical chart or item ofdisplay shows various enzyme screening results on various proteins as afunction of temperature;

FIG. 2 is a block diagram showing basic elements of a system forpracticing various aspects taught herein;

FIG. 3 is a block diagram of a network for practicing certain aspectstaught herein;

FIG. 4 is an illustration of one possible example of a screen whichdisplays a table of custom thresholds or parameters selected by a userof a system for generating icons as taught herein, particularly in thisexample a Personalized Forecast or History Icon (PFHI) for aviators, toprovide customized weather forecast or history information;

FIG. 5 is an illustration of a screen display of a prior art textualrepresentation of weather forecast data for pilots, showing exampleweather conditions forecast for the Charlottesville-Albemarle airport inVirginia for several times over the course of a particular day;

FIG. 6 is an example of a simple graphical PFHI as taught herein, shownas a rectangular timeline representing color-coded conditions over asuccession of time intervals;

FIG. 7 is an example of a display of a circular PFHI as taught herein,superimposed on a map to illustrate presentation of weather conditionsforecast for a particular location over a time interval defined by thecircular icon;

FIG. 8 is an example of a display of a spiral PFHI as taught herein,superimposed on a map to illustrate presentation of weather conditionsforecast for a particular location over a time interval defined by thespiral, and showing a text block which can be made to appear byselecting a part of the icon;

FIG. 9 is an example of a display showing the use of spiral PFHIs and acolor-coded multi-segment flight path to illustrate weather forecastsfor terminals of the flight and other points on the map, along with acolor-coded forecast of conditions expected at intermediate points onthe flight path if the flight departs at a specified time; and

FIG. 10 is an example of a display of a spiral PFHI containing multiplearrows to represent, for example, two elements such as the current timeand the predicted time at which the aviator will make his closestapproach to the airfield upon which this TAF Spiral is centered.

DETAILED DESCRIPTION

The methods and systems shown herein are intended to augment thosedisclosed in U.S. patent application Ser. No. 10/199,442, filed Jul. 20,2002 (Publication 2003/0074454 A1 to Peck), which is hereby incorporatedby reference.

In some possible embodiments, customized icons are produced from datarelating to a certain event or series of events. Customized icons can beproduced in a variety of forms. Some of the possible forms are based onthe idea that a particular set of properties of a temporal system ischosen (e.g., weather attributes, meteor showers, astronomical events,failure occurrences of machinery, ice flows, the migration pattern ofanimals, economic circumstances, electron migration, radioactive decay,radiation events, system or machinery maintenance events, performance,political activity, market conditions, etc.) and analyzed in the contextof current and projected data. A set of custom thresholds may be used topersonalize the data or the presentation of the data. In someembodiments, the data may be rendered in color (e.g., red, yellow,green) and/or pattern (e.g., various stipple patterns) to produce anicon that represents both time and the predicted, current, expected orpast behavior of the system.

In some possible embodiments, the output of a function is representedusing a customized icon on a graphical chart or item of display, suchthat the customized icon represents the functional output as a functionof a domain not otherwise represented in the chart. In such embodiments,the customized icon is useful for adding an extra dimension ordimensions of data not otherwise represented on the chart. Though thepossible embodiments are not limited to the following examples, thefollowing examples are provided for the sake of illustration.

In a first particular example, as depicted in FIG. 1, various enzymescreening results on various proteins under various conditions arerepresented on a graphical chart. The customized icon 10 adds adimension to the domain of the chart which otherwise would not berepresented in a two-dimensional chart. In this example, the types ofenzymes could be represented along the x-axis of a three-dimensionalplot of data, the types of proteins could be represented along they-axis of the chart, and the enzyme screening results at a certaintemperature (T₁) could be plotted along the z-axis of the chart. Theinventive concepts could then be used to represent the screening resultsof each of the enzymes as a function of temperature. At one or morelocations on the plotted data in the chart, such as at point 12, acustomized icon 10 could be used to add the extra dimension oftemperature to the chart, in which the customized icon depicts thescreening result of that particular enzyme on that particular proteinfor several temperatures or a range of temperatures for which the enzymewas interacted with the protein, the various temperatures beingindicated by the letter T and the adjacent double-headed arrowindicating that movement along icon 10 corresponds to differenttemperatures. Thus, in this particular example, a chart which normallywould have been three-dimensional has been made four-dimensional atrelevant locations.

In some possible embodiments, when placed on a map or geographic chart,such graphics will indicate that the conditions forecast or historyapplied to an area of the chart vary with time. In some possibleembodiments, the area of the chart to which the customized icon appliesmay be depicted by an outline or other demonstrative marking thatsurrounds the icon at an appropriate distance.

The inventive concepts may be used in many contexts, to illustrate withan icon that a parameter varies with a variable not represented by axesor other aspects of the underlying image. For example, when placed on adiagram of machinery, such an icon may be used to indicate the expectedservice schedule, load, or scheduled downtime for a particular piece ofmachinery, e.g., an aircraft or electron scanning microscope, or forfactory machinery such as a lithography device. In other possibleembodiments, such an icon may indicate the status of breeding conditionsfor a group of animals as a function of time, wherein the location ofthe customized icon on a chart represents a particular geographicregion. In yet another possible embodiment, it may indicate themaintenance status of manufacturing devices over time, wherein thelocation of the customized icon on a chart indicates a particularmanufacturing device or group of devices or part of a device. In yetanother possible embodiment, such an icon may indicate some past,present, or future data values which vary over time, wherein thelocation of the customized icon on a chart is indicative of whichspecies of a genus is being referred to by the icon. It should be clear,however, that the icon may represent variability over some parameterother than time.

In some embodiments, such icons can be printed, hand- or machine-drawnor otherwise represented on paper or on viewable media, viewed on acomputer display or monitor, viewed on a projection screen, heads-updisplay, hologram, viewer, or either transmitted electronically orstored on a machine-readable media as any manner of data which can beformed into an image in manners known in the art, such as but notlimited to digital image formats such as JPEG, GIF, TIFF, MPEG, PCX, PS,PDF, DOC, etc.

In some possible embodiments, a system according to these teachingsgenerates a customized icon by processing data according to parameters.In some embodiments of such a system, with reference to FIG. 2 thesystem may constitute one or more processors 20 and one or more memories22 containing instructions to be executed on the one or more processorsto process data according to provided parameters and produce acustomized icon.

In yet other embodiments, a system as taught herein, with reference toFIG. 3, may constitute a client device 30 connected over a network 32 toa server device 34, in which the client device sends a request forcustomized data to the server device, wherein said request containscertain parameters to determine a user or application. The serverreceives the request from the client device for customized data, obtainsdata from a network 32 or database 36 based on the supplied parameters,and processes the data based on certain functions specific to thoseparameters. The server then sends the data back to the client device,and the client device generates a customized icon based on the datareceived from the server. In other embodiments, the client device mayrequest a customized icon based on certain parameters, and the servermay generate a digital representation of the requested customized iconand transmit the digital representation to the client device.

In some possible embodiments, the customized icon may be a PersonalizedForecast or History Icon (PFHI), which depicts forecasted weatherconditions for a particular location, customized to some conditionalsfor a particular application or user. For example, such a user may bethe driver of a car on a trip, and conditionals may represent hispreferences for the activities he wants to accomplish on the trip—e.g.,not wanting to hike or picnic in the rain. In another example, such auser may be an aviator, and the conditionals may include the aviator'slicensing limitations, ability thresholds, preferences, etc. as theyrelate to a weather event in a particular circumstance. The user orothers may be able to modify these preferences or thresholds in variousmanners, such as written or oral request, logging into a system (e.g.,the system of FIG. 2 or FIG. 3) which maintains the preferences andthresholds (e.g., in memory 22) and editing settings such as on aprofile webpage (e.g., a weather briefing profile webpage); editing atext or data file; or editing an entry or entries in a database. FIG. 4illustrates one possible example of a screen 40 (e.g., of a suitablewebpage) which displays a table of custom thresholds or parameters 42A,42B, 42C, etc. selected by a user of a system for generating PFHIs foraviators, as taught herein. The screen also contains an active link 44to a page where these thresholds or parameters may be edited.Specifically, screen 40 shows that in this example, the user has beenallowed to set thresholds for three types of ranges, each type beinglisted on one column. In column 46A are thresholds for unacceptableconditions. The background for the entries in column 46A may be shadedfor a predetermined color and in this example that background is shadedfor the color red; and when a condition occurs within the values of thefirst column, it may be displayed in the corresponding color. In thisinstance, a condition falling below the thresholds of column 46A isunderstood to be a dangerous or undesirable condition and displaying itin red conveys that context. Likewise, in column 46B, the background maybe displayed in another color, such as yellow, to indicate conditionsthat fall between the problematic conditions of column 46A and thedesirable/acceptable conditions of column 46C (and displayed in yellowon the icon), which may be given a green background and displayed ingreen on the icon. The final row 46D on the table of FIG. 4 shows an onor off status of a filter, so columns 46A-46C do not extend down to thisrow.

Thresholds such as those illustrated in FIG. 4 are already in use toproduce textual representations of forecast data. For example, usingsuch thresholds, Peck Labs, Inc. (d/b/a Enflight or Enflight.com) has(including at a web site, www.enflight.com) commercialized a textualrepresentation of weather forecast data, described in Peck, US2003/0074454 A1, which provides a partial background for this patentapplication. An example is shown in FIG. 5. That example shows weatherconditions forecast for the Charlottesville-Albemarle airport inVirginia for several times over the course of a particular day. Thebackgrounds for text blocks 52 and 54 are presented in red andcorresponding red “X” marks appear in the left-most column at 51 and 53because the forecast weather conditions define circumstances which,according to the requestor of this information, are not acceptable tohim. By contrast, text of blocks 56 and 58 are presented with greenbackground and corresponding green check marks appear in the left-mostcolumn at 55 and 57 because the forecast weather conditions at theindicated times define conditions defined as acceptable by therequester, as indicated in the database represented by FIG. 4.

Naturally, other colors and indicator symbols can be used but thereshould be some graphical presentation that indicates how the forecastconditions match the criteria or conditions specified by the requester.The processor 20 or 34 or 30 analyzes the forecast in light of theuser's criteria and generates the display.

The coloration used in FIG. 5 addresses the fact that a textualpresentation takes time for a user to understand, and can becomplicated. An effort is made herein to make it faster and easier for auser to understand personal forecast data and the like. The graphicalPFHI has therefore been developed. One possible example of a simplegraphical PFHI is a rectangular timeline 62 of FIG. 6. In thisparticular example, intervals presented in green, such as 64A and 64E,represent safe conditions; yellow regions such as 64B, 64D and 64F,represent cautionary conditions; and red region 64C represents “no-fly”or unsafe or unacceptable conditions.

Other possible configurations of PFHIs include at least a circle, or aspiral, or an ellipse, or other rounded or cyclically repeating shapessuch as coiled spring shapes as drawn in two dimensions, or a square,triangle, line or polygon, or any manner of representations ofthree-dimensional shapes such as but not limited to a sphere, helix,torus, ellipsoid, cube, tube, prism, etc., or any manner of “stretched”or distorted versions of the aforementioned shapes or representations.

In one particularly useful embodiment, a PFHI icon may depict a localcondition history or forecast (LCHF), which provides the history orforecast of a condition at a particular location, if the condition isrelated to geography, or to some other parameter analogous to locationthat is appropriate to another domain of interest. One specific case ofa LCHF is a TAF, or terminal area forecast, in which a weather forecastis given for an airport terminal and its immediate vicinity. In somesuch embodiments, a PFHI icon may be presented as a circular symbol,called a TAF Circle or an LCHF Circle.

FIG. 7 depicts one possible embodiment of a 24-hour TAF Circle, 70superimposed on a map, such as the map of the area around an airportwhere a report of a weather forecast is being shown by the TAF Circle. Afirst segment, 72, lined for blue in this example (though other colorsmay be used), represents the issue time of the forecast and the periodwhen no forecast is available. The white arrow 74 represents a currenttime, with the reference time (e.g., noon or midnight) being straight upor straight down, typically. An alternate form of a customized iconcould place the current time at the top, so that the user can alwaysread the time advancing clockwise from the top. In the embodiment shownin FIG. 7, weather forecast data, as applied to the particular aviator'spersonalized preferences and thresholds, is represented by variouscolors around the circle, in which time segments 76A and 76B, lined forthe color green, represent safe flying conditions according to thepilot's personal preferences/thresholds; yellow segments (if any, nonebeing shown in this example) represent flying conditions which wouldprompt caution; and regions such as 78, lined for display in red,represent unsafe, illegal, difficult, or otherwise undesirable flyingconditions. (Naturally, the choice of color legend is arbitrary andforms no part of the invention—though the use of color may be importantin some embodiments—but red, yellow and green are commonly used foranalogous purposes, such as on traffic signals.)

In this particular example embodiment, the colored dot 79 in the centerof the circle represents, according to personalized parameters, thecurrent observations at the reporting station.

In some configurations, such an icon may be based on a 12-hour clockinstead of a 24-hour clock, or on some longer or shorter interval. Insome embodiments of a 24 hour version, midnight may be at the top andnoon at the bottom. In other embodiments, any selected time of referencemay be placed at the top. In yet other embodiments, the time scale ofthe LCHF Circle may be an arbitrary unit of time, such as days, months,seconds, years, etc.

Another possible embodiment is an LCHF Spiral, 80, which is a PFHI whichcan conveniently represent temporal phenomena which extend over severalperiods of 360 degrees, such as days, or with a change of scale, to anarbitrary timeframe. One implementation, for example, could allow for afull turn of the spiral to represent 12 or 24 hours. In some embodimentsof an LCHF Spiral, it is useful to indicate midnight at the top and noonat the bottom. Two full turns of the spiral would represent 2 days. Inthis particular embodiment of a TAF Spiral (shown in FIG. 8), red,yellow, and green sections of the spiral have the same meaning as in theexample of an embodiment of a TAF Circle shown previously in FIG. 7.

In some embodiments, the colored dot in the center of the spiral mayrepresent, according to personalized parameters, the currentobservations at the reporting station.

In some embodiments, the user may view the graphics containing the PFHIon a computer using appropriate display software or simply on a webbrowser. Optionally, segments of the icon may be coded to include activelinks, allowing a user to click on an element of the icon to activate alink to display (e.g., as an overlay or in another window) forecastdetails. For example, in some embodiments, clicking on the LCHF spiralmay cause the forecast details to be displayed as text, as in the dialogbox 84. The details or layout of said details may be customizedaccording to the location of the click with respect to the overallchart, or with respect to the location of the LCHF Spiral.

In some embodiments, wherein the domain of interest is weather forecastsfor flight planning, with reference to FIG. 9 an entire selected flightroute for an aviator may be displayed on a chart, for example, as aseries of lines such as lines 92A, 92B, 92C connected end to end, andthe personalized weather conditions may be displayed as colors or otherattributes of the line at various locations along the journey, at thepredicted time at which the aviator will arrive to said locationaccording to the aviator's starting time and flight information. Forexample, portion 93A of the flight path might be shown in red, portion93B in green and portion 93C in yellow. At various points along theroute, including but not limited to the beginning and end of the route,a TAF Spiral 94 may be placed to give more complete forecast data forthat point, though none appear in FIG. 9.

In other example embodiments, the PFHI may contain more than one arrowrepresenting more than one element. For example, in the chart of FIG.10, the upper arrow 1002 (which might be displayed, for example, inlight blue) depicts the current time, while the lower arrow 1004 (whichmight be displayed, for example, in white) depicts the predicted time atwhich the aviator will make his closest approach to the airfield uponwhich this TAF Spiral is centered.

In some embodiments, a client device such as a computer, cellular phone,mobile device, PDA, etc. is connected to a network, which may be anintranet, the Internet, a WAN, LAN, wireless network or some combinationof the foregoing. The client device requests from an appropriate remotedevice connected to the network the weather data required to produce aTAF Spiral. In some embodiments, the device may be a panel mounted orhand-held GPS-based cockpit display and the connection could be viasatellite or ground-based networking systems including ADS-B.

In other possible embodiments, the client device or a server deviceconnected to a client device via a network may request or otherwisereceive data from a live information feed or from measuring equipment.These data are then used to produce an LCHF Spiral or some other type ofcustomized icon.

In yet other possible embodiments, a client device such as a computer,cellular phone, mobile device, PDA, etc. is connected to a web serverover a network. The web server connects via a network to another serverand receives weather forecast data for the location and processes it onbehalf of the client, based on the client's specific personalizedweather parameters stored in an appropriate database (such as theWXpert™ system of Peck Labs), formatting it according to the personalcriteria. The web server sends personalized data to the client deviceover the network, with which the client device produces a graphical TAFSpiral or other form of icon as taught herein.

In some embodiments for producing a TAF Spiral, the client device sendsa request containing a user identifier to the web server. The web serverexecutes a file containing a script, which shall be called hereinchart.py, providing as input to the script the user identifier receivedfrom the client device, which identifies the pilot within a database,which may be a MySQL database. For example: ../charts/chart.py-p 18688,in which 18688 represents a unique ID of the user in a database. Inother embodiments, the client request might contain all of the client'sconditional thresholds for use in customizing the weather forecast data.

The script executes and outputs weather forecast data in some machinereadable format, such as HTML and/or JavaScript form, which istransmitted over the network to the browser executing on the client. Thetext may contain JavaScript that sets variables such as: varpilotid=“18688”.

The browser then executes machine-readable code, such as HTML and/orJavaScript, to begin to display the sections of the aviation map. Theclient device then sends a request to the server for TAF data, with thepilot id encoded as cgi-bin arguments, e.g., as follows:

http://server.tafcompany.com/cgi-bin/stage2.py?p=18688& . . .

The TAF data is then calculated by executing a script on the server,which causes a query of the database to receive the indicated pilot'swxpert settings (personalized weather parameters). In accordance withthe disclosure in Peck (US 2003/0074454 A1), this list of TAF data isprocessed through a formatting or briefer program to produce html tablesthat are formatted according to the wxpert settings.

TAF tables are then produced by the execution of the script on theserver, and sent over the network to the browser executing on theclient. These tables are formatted to be readable by a pop-up textdisplay component executing on the client device, which may be part of aclient-side map display component, such as OpenLayers. These tables maybe formatted to contain a pointer to each element of text to bedisplayed if a certain region on the display is clicked on with apointing or selecting device, such as a mouse, pen, button press, etc.,or otherwise selected, such as through touch on a touch-sensitivedisplay. These tables may be formatted in a manner such as:

  var taf_txt = [  ″<table border=′0′ width=′100%′>    <tr><tdcolspan=′2′ class=′h′>     <b>Charlottesville VA(Charlottesville-Albemarle) [KCHO] </b>      terminal forecast<divclass=′small′> issued on the 17th at 1:20pm EDT (1720Z), valid from the17th at 2pm EDT (18Z) through the 18th at 2pm EDT (18Z) </div></td></tr>   <tr><td nowrap=′nowrap′ width=′5%′><img width=′11′ height=′12′align=′top′ border=′0′ src=′http://delta.rho.net/img/wiz0.gif′/>&amp;nbsp; 2pm EDT (18Z) </td>       <td class=′g′>wind 240&amp;deg;at 3 knots, visibility greater than 6 miles, 1,500 feet few, brokencumulonimbus at 5,000 feet</td></tr>    <tr><td nowrap=′nowrap′><imgwidth=′11′ height=′12′ align=′top′ border=′0′src=′http://delta.rho.net/img/wiz3.gif′ />&amp;nbsp; 3pm (19Z) -7pm EDT(23Z) </td>       <td class=′b′>temporarily visibility 5 miles, <b>thunderstorms with rain</b>, mist, overcast cumulonimbus at 3,500feet</td></tr>

The time data may be sent to the client device in another tableindicating the latitude and longitude of the center of the airport, theinitial inner radius, the initial outer radius, begin hour, end hour,color, name of airport, and index to the above table of the text todisplay. Such a table may be formatted in a manner such as:

 taf_array = [   [ -8545264.454889, 4866519.648323, 2800.0, 5600.0, 15,24, style_g, ″Harrisburg PA ″, taf_txt[22] ],   [ -8545264.454889,4866519.648323, 2800.0, 5600.0, 24, 35, style_y, ″Harrisburg PA ″,taf_txt[22] ],  [ -8545264.454889, 4866519.648323, 2800.0, 5600.0, 35,38, style_g, ″Harrisburg PA ″, taf_txt[22] ],

The client device receives the data tables from the server and thenexecutes code to create the TAF Spirals from the data. This code may beJavascript, and in one possible implementation, may be designed asfollows. Each data element in to taf_array is used to produce a TAFSpiral. The spiral may be produced by drawing a multitude of arcs basedon the begin and end hours of each segment of the TAF data. Successivearc shapes are drawn to represent the hours of the day from the beginhour to the end hour by one hour increments, creating successivewedge-shaped polygons, with each point in the polygon having its radiusdistance scaled by the hour of the TAF report time, and the color ofeach one-hour section colored by the personalized weather data for thathour. The OpenLayers' addFeatures method may be used to display thespiral in the chart window, and a possible implementation of the spiralproducing do_a_taf routine is reproduced in Appendix A, below.

This invention is not limited in its application to the details ofconstruction and the arrangement of components set forth in theforegoing description or illustrated in the drawings. The invention iscapable of other embodiments and of being practiced or of being carriedout in various ways. For example, rather than employing a client-serverrelationship in which forecast or history data must be requested from aserver, a stand-alone device may receive broadcast information of, forexample, weather reports, store some or all of the broadcast informationfor use when desired, and then on request process the stored informationto extract the relevant data and, using the supplied personalizationinformation, which also may be stored locally in the device. generate adisplay of a personalized forecast or history using the iconpresentations discussed above. The broadcast received/monitored by thedevice may be terrestrial radio broadcasts, satellite broadcasts,internet broadcasts or other data feeds. Appropriate modules may providelocal data storage for the broadcast information (or portions thereoffiltered according to any desired criteria), local data storage forpersonal preference information or other personalization information,one or more processors, memory for storing programming instructions, andone or more output devices. Another alternative would be a stand-alonedevice that collects local data from sensors, be they weather or othersensors, rather than receiving broadcast information.

The phraseology and terminology used herein is for the purpose ofdescription and should not be regarded as limiting. The use of“including,” “comprising,” or “having,” “containing,” “involving,” andvariations thereof herein, is meant to encompass the items listedthereafter and equivalents thereof as well as additional items.

Having thus described several aspects of at least one embodiment of thisinvention, it is to be appreciated various alterations, modifications,and improvements will readily occur to those skilled in the art. Suchalterations, modifications, and improvements are intended to be part ofthis disclosure, and are intended to be within the spirit and scope ofthe invention. Accordingly, the foregoing description and drawings areby way of example only.

APPENDIX A A possible implementation of the do_a_taf routine isreproduced below: function do_a_taf(td, idx) {  var bar = td; if(bar!==null)   {     // drawAnArc( x, y, ir, or, ba, ea, style)    polygonFeature = drawAnArc(td[0], td[1], td[2], td[3], td[4], td[5],td[6]);     polygonFeature.attributes.name = td[7];    polygonFeature.attributes.description = td[8];    metarLayer.addFeatures(polygonFeature);     // tic marks    tic_marks(td[0], td[1], td[3]);     var lineFeature =draw_now(td[0], td[1], td[3]);     lineFeature.attributes.name = td[7];    lineFeature.attributes.description = td[8];    metarLayer.addFeatures(lineFeature);   } } // draw the tic marksoutside of the taf circle function tic_marks(x, y, or) {  var scale =1.0;  var style_tick = {    strokeColor: ″#000000″,    strokeWidth: 1,   pointRadius: 6,    pointerEvents: ″visiblePainted″  };  var cpoint =new OpenLayers.Geometry.Point(x, y);  for (var p = 0; p <= 24; p = p +3) {    var pointList = [ ];    var a = p * (2 * Math.PI) / 24;    varrad = or;    var newPoint = new OpenLayers.Geometry.Point(cpoint.x +(rad * Math.sin(a)), cpoint.y + (rad * Math.cos(a)));   pointList.push(newPoint);    rad = or - 1000;    newPoint = newOpenLayers.Geometry.Point(cpoint.x + (rad * Math.sin(a)), cpoint.y +(rad * Math.cos(a)));    pointList.push(newPoint);    // create a linefeature from a list of points    var lineFeature = newOpenLayers.Feature.Vector(    newOpenLayers.Geometry.LineString(pointList), null, style_tick);   metarLayer.addFeatures(lineFeature);  } } function draw_now(x, y, or){  var style_hand = {    strokeColor: ″#FFFFFF″,    strokeWidth: 2,   pointRadius: 6,    pointerEvents: ″visiblePainted″  };  var now = newDate( );  var hr = now.getHours( );  var mn = now.getMinutes( );  //hr =2;  //mn = 0;  var a = ((hr * 60) + mn) * (2 * Math.PI) / (24 * 60); var cpoint = new OpenLayers.Geometry.Point(x, y);  // the arrow at theend of the hour hand  var b = 0.1;  var c = 500;  var scale = 1.0;  varrad;  //var rad = or;  //rad = (or * scale) + (a * 200) - 1000; //radius units???  rad = (or * scale) + (a * 200);  var pointList = [ ]; var newPoint = new OpenLayers.Geometry.Point(cpoint.x + ((rad - c) *Math.sin(a - b)), cpoint.y + ((rad - c) * Math.cos(a - b))); pointList.push(newPoint);  newPoint = newOpenLayers.Geometry.Point(cpoint.x + (rad * Math.sin(a)), cpoint.y +(rad * Math.cos(a)));  pointList.push(newPoint);  newPoint = newOpenLayers.Geometry.Point(cpoint.x + ((rad - c) * Math.sin(a + b)),cpoint.y + ((rad - c) * Math.cos(a + b)));  pointList.push(newPoint); var lineFeature = new OpenLayers.Feature.Vector(  newOpenLayers.Geometry.LineString(pointList), null, style_hand);  // shouldreturn this so that arrowhead has pop-up handler added metarLayer.addFeatures(lineFeature);  // the hour hand  pointList = [];  //rad = or;  //rad = or * scale + a * 200 - 1000; // radius units??? newPoint = new OpenLayers.Geometry.Point(cpoint.x, cpoint.y); pointList.push(newPoint);  newPoint = newOpenLayers.Geometry.Point(cpoint.x + (rad * Math.sin(a)), cpoint.y +(rad * Math.cos(a)));  pointList.push(newPoint);  // create a linefeature from a list of points  lineFeature = newOpenLayers.Feature.Vector(  newOpenLayers.Geometry.LineString(pointList), null, style_hand); //metarLayer.addFeatures( lineFeature );  // return this so that nowline has pop-up handler added  return lineFeature; }//================================================ // .g   { background:#cfc none; color: #000 } /* wx good: GREEN or suppress */ // .m  {background: #ffc none; color: #000 } /* wx marginal: YELLOW */ // .b   {background: #fcc none; color: #000 } /* wx below: RED */ // .w  {background: #fff none; color: #000 }  /*     #fff */ // .h   {background: #eee none; color: #000 } /* gray bg for taf headers */function do_tfr_layer_defs( ) {  style_tfr = OpenLayers.Util.extend({ }, OpenLayers.Feature.Vector.style[′default′]);  //style_tfr.strokeColor =″red″;  //style_tfr.strokeColor = ″#CC99FF″; // purple //style_tfr.fillColor = ″#CC99FF″;  //style_tfr.fillOpacity = 0.6; style_tfr.strokeColor = ″#666666″; // gray  style_tfr.fillColor =″#666666″;  //style_tfr.fillOpacity = 0.6;  style_tfr.strokeColor =″#990033″; // burgandy  style_tfr.fillColor = ″#990033″; style_tfr.fillOpacity = 0.3; }//================================================ // BOS 42.3629722 /-71.0064167 // polygonFeature = drawAcircle( -71.0064167, 42.3629722,50, style_g); // polygonFeature.attributes.name = ″Boston MA (GeneralEdward Lawrence Logan Intl)″; // polygonFeature.attributes.description =″hourly observation on the 19th at 10:54am EDT (1454Z)<br>wind170&amp;deg; at 8 knots<br> visibility 10 miles<br> sky clear below12,000 feet<br> temperature 21&amp;deg;C (70&amp;deg;F)<br> dewpoint12&amp;deg;C (54&amp;deg;F)<br> altimeter 29.86<br>automated stationwith precipitation discriminator<br> sea level pressure 29.85&amp;quot;Hg (1011.0 hPa)<br> temperature 21.1&amp;deg;C (70.0&amp;deg;F)<br>dewpoint 12.2&amp;deg;C (54.0&amp;deg;F)<br> 3-hour barometric pressureincreasing then decreasing by 0.009&amp;quot; Hg (0.3 hPa).″; //metarLayer.addFeatures( polygonFeature ); functiondo_metars_and_tafs_defs( ) {  style_g = OpenLayers.Util.extend({ }, OpenLayers.Feature.Vector.style[′default′]);  style_g.strokeColor =″green″;  style_g.fillColor = ″green″;  style_g.fillOpacity = 0.7; style_m = OpenLayers.Util.extend({ }, OpenLayers.Feature.Vector.style[′default′]);  style_m.strokeColor =″yellow″;  style_m.fillColor = ″yellow″;  //style_m.fillOpacity = 0.7;// default was 0.4  style_m.fillOpacity = 0.8;  style _b =OpenLayers.Util.extend({ }, OpenLayers.Feature.Vector.style[′default′]);  style_b.strokeColor =″red″;  style_b.fillColor = ″red″;  style_b.fillOpacity = 0.7;  style _n= OpenLayers.Util.extend({ }, OpenLayers.Feature.Vector.style[′default′]);  style_n.strokeColor =″blue″;  style _n.fillColor = ″blue″;  style _n.fillOpacity = 0.7; style_r = OpenLayers.Util.extend({ }, OpenLayers.Feature.Vector.style[′default′]);  style_r.strokeColor =″blue″;  style_r.fillColor = ″blue″;  style_r.fillOpacity = 0.6; }//================================================ functiondrawAcircle(x, y, r, style) {  var cpoint = newOpenLayers.Geometry.Point(x, y); // ???  // create a polygon featurefrom a linear ring of points  var pointList = [ ];  for (var p = 0; p <35; ++p) {    var a = p * (2 * Math.PI) / 36;    var rad = r; // radiusin degrees? take stupid scale out!!!    var newPoint = newOpenLayers.Geometry.Point(cpoint.x + (rad * Math.cos(a)), cpoint.y +(rad * Math.sin(a)));    pointList.push(newPoint);  } pointList.push(pointList[0]); // and close off circle back to 1′stpoint  var linearRing = new OpenLayers.Geometry.LinearRing(pointList); var polygonFeature = new OpenLayers.Feature.Vector(  newOpenLayers.Geometry.Polygon([linearRing]), null, style);  returnpolygonFeature; } //================================================ //x,y of center, inner, outer radius, begin, end arc, color style functiondrawAnArc(x, y, ir, or, ba, ea, style) {  var cpoint = newOpenLayers.Geometry.Point(x, y); // ceter point  var scale = 1.0; //radius in degrees? take stupid scale out!!!  var p;  var a;  var rad; var newPoint;  var gap = 150;  // gap between spiral arms (?)  varadjust = 2000; //  // create a polygon feature from a linear ring ofpoints  var pointList = [ ];  for (p = ba; p <= ea; ++p) {    a = p *(2 * Math.PI) / 24;    // notspiral: rad = ir; // + a * 300.0;    //spiral:    rad = (ir * scale) + (p * gap) - adjust;    newPoint = newOpenLayers.Geometry.Point(cpoint.x + (rad * Math.sin(a)), cpoint.y +(rad * Math.cos(a)));    pointList.push(newPoint);  }  for (p = ea; p >=ba; --p) {  a = p * (2 * Math.PI) / 24;  // not_spiral: rad = or; // +a * 300.0; // radius units???  // spiral:  rad = (or * scale) + (p *gap) - adjust;  newPoint = new OpenLayers.Geometry.Point(cpoint.x +(rad * Math.sin(a)), cpoint.y + (rad * Math.cos(a))); pointList.push(newPoint);  }  pointList.push(pointList[0]); // andclose off circle back to 1′st point  var linearRing = newOpenLayers.Geometry.LinearRing(pointList);  var polygonFeature = newOpenLayers.Feature.Vector(  newOpenLayers.Geometry.Polygon([linearRing]), null, style);  returnpolygonFeature; } //================================================function drawApolygon(points, style) {  // create a polygon feature froma linear ring of points  var pointList = [ ];  for (var p = 0; p <points.length; p = p + 2) {    var newPoint = newOpenLayers.Geometry.Point(points[p], points[p + 1]);   pointList.push(newPoint);  }  pointList.push(pointList[0]);  varlinearRing = new OpenLayers.Geometry.LinearRing(pointList);  varpolygonFeature = new OpenLayers.Feature.Vector(  newOpenLayers.Geometry.Polygon([linearRing]), null, style);  returnpolygonFeature; }

The invention claimed is:
 1. A method comprising causing a computer to:receive a representation of resource characteristics indexed by domainvalues, where the resource characteristics comprise characteristicvalues; apply a first set of customization data comprising domain valueindependent thresholds, conditionals, or functions to filter resourcecharacteristics on a characteristic value by characteristic value basiswhere the customization data is independent of the domain values,meaningful in the application context, and does not comprise a displaycharacteristic; for more than one domain value apply a second set ofcustomization data to the filtered resource characteristic valuescorresponding to each such domain value to produce a customized resultvalue indexed with a domain value which comprises a custom displaycharacteristic; construct runs of domain values corresponding tocustomized result values having the same custom display characteristic;rendering a graphical representation comprising the custom displaycharacteristic where: the domain values are represented by a visuallydiscernable graphical feature, the custom display characteristic isproximate to the visually discernable graphical feature representing adomain value, and the runs of domain values are readily visuallydiscernable by virtue of the custom display characteristics, and thegraphical representation is responsive to user interaction, where thevisually discernable graphical feature is rotation where the change inthe angle of rotation corresponds to a change of a predetermined valuein a domain value.
 2. The method of claim 1 wherein the shape of thegraphical representation is a cyclically repeating shape such as coiledspring shape as drawn in two dimensions.
 3. The method of claim 1 wherethe graphical representation is configured to be responsive to userinteraction by opening a popup display.
 4. The method of claim 1,wherein the domain values comprise time-dependent data that indexes aforecast or a history.
 5. The method of claim 1 where a user or otheragent may modify the, domain value independent thresholds, conditionals,or functions and, in response, the computer updates the graphicalrepresentation.
 6. The method of claim 1 where multiple activecustomized graphical representations are rendered on the computerdisplay where the positions or other distinguishing characteristiccorresponds to the species of a genus being referred to by the a givengraphical representation.
 7. The method of claim 1 wherein the shape ofthe graphical representation is selected from the group of a circle,spiral, or annulus.
 8. The method of claim 1 where the characteristicvalue is a historical, current, postulated or predicted measurementwhich may be a function of time.
 9. The method of claim 1 where a changeto the thresholds, conditionals, or functions operates as a request. 10.The method of claim 1 where a change in resource characteristicsfunctions as a request.